<?php namespace Common\Model;
use Hdphp\Model\Model;
class Cate extends Model{
	//指定表名
	protected $table='category';
	//自动验证指定信息
	protected $validate=array(
		//array(字段名，验证方法，错误信息，验证条件，验证时间)
		array('cname','required','分类名称不能为空',3,3),
		array('ctitle','required','分类标题不能为空',3,3),
		array('ctitle','maxlen:120','分类名称不能超过120字符',3,3)
	);
	//分类添加
	public function store(){
		//create自动触发验证，通过$this->data接收数据
		if($this->create()){
			// P($this->data);die;
			//$this->data有数据即为真，执行添加方法，并返回真
			$this->add();
			return true;
		}
		return false;
	}
	//编辑数据保存到数据库
	public function edit(){
		if(!$this->create()) return false;
		//修改的时候注意要在页面添加隐藏域
		$this->save();
		return true;
	}
	//获得除了自己和自己子集的分类数据
	public function getNoMy($cid){
		//获得自己子集的cid
		$cids=$this->getSon($this->get(),$cid);
		//压入自己的cid
		$cids[]=$cid;
		// P($cids);die;
		//排除自己和自己子集的数据
		$where="cid NOT IN(".implode(',',$cids).")";
		return $this->where($where)->get();
	}
	//获得自己的子集
	public function getSon($data,$cid){
		$temp=array();
		//遍历所有数据
		foreach($data as $d){
			// 如果有当前分类的子集
			if($d['pid']==$cid){
				//找到的子集压人临时数组
				$temp[]=$d['cid'];
				// 递归所有数组
				$temp=array_merge($temp,$this->getSon($data,$d['cid']));
			}
		}
		//返回查询到的所有结果
		return $temp;
	}

}